package main

import (
	"fmt"
	"strconv"
)

// Author : CSR丶WARRIOR
// Time ： 2020/10/13  23:14
// TOOLS : GoLand
// FILENAME : sliceAsParam.go
// STATEMENT: 切片当做函数参数

func main() {
	/*var s []int = []int{4, 5, 6, 7, 8}
	printSlice(s)*/
	s := make([]int, 8)
	initSlice(s)
	fmt.Println(s) //[1 2 3 4 5 6 7 8]
	// 创建切片s的时候没有初始化值，但是调用完函数之后值改变了，说明在函数中修改切片的值会影响到原切片！
}

func printSlice(s []int) {
	for _, i2 := range s {
		fmt.Print(strconv.Itoa(i2) + "\t") //4	5	6	7	8
	}
}

func initSlice(slice []int) {
	for i := 0; i < len(slice); i++ {
		slice[i] = i + 1
	}
}
